package com.cy.store.mapper;

import com.cy.store.entity.Address;
import org.apache.ibatis.annotations.Param;

import javax.xml.crypto.Data;
import java.util.Date;
import java.util.List;

// 地址
public interface AddressMapper {

    /**
     * 往t_address 里加数据
     */
    Integer insert(Address address);


    /**
     * 根据uid，查询t_address表里某个用户的数据有几行
     * @return 行数
     *
     * select count(*) from t_address where uid = #{uid};
     */
    Integer countByUid(Integer uid);


    /**
     * 查询t_address里某个用户的数据
     */
    List<Address> findByUid(Integer uid);

    /**
     * 根据aid  查询某条数据是否存在
     */
    Address findByAid(Integer aid);


    /**
     * 把某个用户的所有地址设为 ‘不默认’
     */
    Integer updateNonDefault(Integer uid);


    /**
     * 根据aid， 把某个用户的地址改为默认地址
     */
    Integer updateByAid(@Param("aid") Integer aid, String modifiedUser, Date modifiedTime);


    /**
     * 根据aid, 删除1行地址
     */
    Integer deleteByAid(Integer aid);


    /**
     * 当把默认地址删除掉后，选择把最新添加的地址改为默认地址。
     */
    Address findLastModified(Integer uid);


    /**
     * 更新地址
     */
    Integer update(Address address);


}
